技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
29
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
29
篇
Day29- 例外處理 (Exception)
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-15 17:33:06
6184 瀏覽
分享至
Part1.例外處理簡介
學習目標
何謂「例外」(Exception)?
為什麼需要有「例外」機制?
Python 例外機制的長相
何謂「例外(Exception)」
定義
程式執行過程中,足以中斷程式執行的錯誤
如果沒有「例外處理」機制…
您或許會用 if ~ else 處理…
Python 的例外處理機制…
重點整理
何謂「例外」(Exception)?
任何足以中斷程式執行的錯誤
為何需要有「例外」機制?
為了就算發生錯誤,程式控制權仍在我們手上,不致於中斷執行
為了提供容易了解的錯誤訊息,給不知情的使用者
為了發生錯誤後,能讓使用者有修正的機會
Python 例外機制的長相
try ~ except ~ else 語法
Part2.例外捕捉
學習目標
Python 例外處理的語法
常見的例外有哪些?
例外處理範例
例外處理語法
Python 常見的例外類型
參考官方網站說明:
Built-in Exceptions
重點整理
Python 例外處理的語法
try ~ except ~ else ~ finally
try:主程式區(監視區)
except:例外處理區
else:無錯誤區
finally:收尾程式碼區
常見的例外有哪些?
詳見:
Built-in Exceptions
Part3.自訂例外
學習目標
自訂例外的步驟
自訂例外的範例
自訂例外步驟
為你的例外建立一個類別,並繼承 Exception 類別
如:class SalaryException(Exception)
在需要丟出該例外類別的場合,使用 raise 指令
如:raise SalaryException()
在主程式攔截該例外
用 try ~ except 攔截 SalaryException
自訂例外的範例(取自老師上課範例)
限制加薪幅度不得大於 5%,否則丟出例外警告之
先開啟「物件導向」章節的 HRSystem 專案的 employee.py 檔案
建立繼承 Exception 的 SalaryException 類別
新增 .raiseSalary() 方法
主程式:攔截 SalaryException
重點整理
自訂例外步驟
建立一個例外類別,並使該類別繼承 Exception。
在需要丟出該例外類別的場合,使用 raise 指令
在主程式使用 try ~ except 攔截該例外
留言
追蹤
檢舉
上一篇
Day28-物件導向設計封裝部分:建構函數(Constructor)
下一篇
Day30-總結30 天
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
20253
篇
完賽人數
534
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
18th鐵人賽
17th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
团队想从OpenAI API迁移到自部署Qwen或DeepSeek,除了API兼容性,在推理成本和运维复杂度上还有哪些隐性坑?
熱門回答
团队想从OpenAI API迁移到自部署Qwen或DeepSeek,除了API兼容性,在推理成本和运维复杂度上还有哪些隐性坑?
熱門文章
去背景音教學|OBS Twitch VOD Track 如何分開直播音樂與回放音軌?(Day 17)
影片去除雜音保留人聲|OBS 多音軌錄製遊戲、Discord 與麥克風(Day 16)
HTTP 200 不等於成功:我替 27 個台灣政府資料 skill 抓出的五種「假成功」
GPT-6 Astra入門指南:核心功能、開發用途與上手方法
Claude Code 雲端實戰篇0:拿送的美金 250 額度做一個每天自動跑收集股票相關資訊的工具(總覽)
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}